Dynomotion

Group: DynoMotion Message: 12950 From: Hardy Family Date: 3/14/2016
Subject: Understanding motion segments
Hi Tom,

In the process of debugging my 5-axis changes, I am trying to understand the coefficients in the linear motion segments, as sent to the kflop.

There are a,b,c,d,T coeffs.  Could you please confirm that the following is correct:

In any trip state, the t parameter ranges from 0 to the value specified in the 5th element of the trip coeffs (T), which is the nominal real time interval for this trip state.  Position, vel, accel is given by

pos = at^3 + bt^2 + ct + d
vel = 3at^2 + 2bt + c
accel = 6at + 2b

with these all multiplied by the total segment motion distance for each axis to get unparameterized (true) values.

I have been writing the output segments to a csv file and reading in as a spreadsheet.  Trouble is, max accelerations appear to be roughly 1/2 of the configured value, whether using rapids or feeds.  Velocity seems ok.  So, in trying to track down the accel discrepancy, I am wondering if my math or assumptions are wrong.

Regards,
SJH

Group: DynoMotion Message: 12952 From: Tom Kerekes Date: 3/14/2016
Subject: Re: Understanding motion segments
Hi SJH,

I just tested with the attached program that prints to the console the current velocity and acceleration and it seems all correct to me for my settings .

Maybe you are just miss interpreting the b coefficient as acceleration but rather 2b is the acceleration?

Normally the equation of motion is:

1/6 Jerk * t^3 + 1/2 Accel * t^2 + Vel * t + P

so putting this in this form to combine the fractions in the coefficients:
at^3 + bt^2 + ct + d

b = 1/2 Accel (same as your formula)

What exactly makes you thing things are wrong?

Regards
TK


On 3/14/2016 10:16 AM, Hardy Family hardy.woodland.cypress@... [DynoMotion] wrote:
 
Hi Tom,

In the process of debugging my 5-axis changes, I am trying to understand the coefficients in the linear motion segments, as sent to the kflop.

There are a,b,c,d,T coeffs.  Could you please confirm that the following is correct:

In any trip state, the t parameter ranges from 0 to the value specified in the 5th element of the trip coeffs (T), which is the nominal real time interval for this trip state.  Position, vel, accel is given by

pos = at^3 + bt^2 + ct + d
vel = 3at^2 + 2bt + c
accel = 6at + 2b

with these all multiplied by the total segment motion distance for each axis to get unparameterized (true) values.

I have been writing the output segments to a csv file and reading in as a spreadsheet.  Trouble is, max accelerations appear to be roughly 1/2 of the configured value, whether using rapids or feeds.  Velocity seems ok.  So, in trying to track down the accel discrepancy, I am wondering if my math or assumptions are wrong.

Regards,
SJH


  @@attachment@@
Group: DynoMotion Message: 12954 From: Hardy Family Date: 3/14/2016
Subject: Re: Understanding motion segments [1 Attachment]
The test program I am running does a 100mm X move starting from 0:
F2000 G1 X-100

and the segment data is:

"SegA",408.364844,0,0,0.000000,0.000000,-165000.000000,0.000188,0.000000,0.000000,-50000.000000,0.000000,-165000.000000,0.000188,0.000000,0.000000
"SegB",0.000015,0,1,1.968504,1.312336,1.312336,10.000000,10.000000,inf,40000.000000,0.000000,3.000000,0.000000,0.000000
"Linear",0.000024,0,0,0.000000,2.540000,0.000000,0.000000,0.131234
"Linear",0.000029,0,1,0.000000,0.000000,0.666667,0.043745,1.434383
"SegA",0.102587,1,1,-50000.000000,0.000000,-165000.000000,0.000188,0.000000,0.000000,-100000.000000,0.000000,-165000.000000,0.000188,0.000000,0.000000
"SegB",0.102597,1,1,1.968504,1.312336,1.312336,10.000000,10.000000,inf,3149.606201,1.312336,3.000000,0.000000,0.000000
"Linear",0.102604,1,1,0.000000,0.000000,0.666667,0.000000,1.434383
"Linear",0.102792,1,2,0.000000,-2.540000,0.666667,0.956255,0.131234

SegA/B are data from the segment itself, and "Linear" is output for each trip state.  I have highlighted the X coordinates and the 5 coefficients.  Step units are in um.

The velocity (0.6666 * 50000) is correct (2000mm/min = 33333 um/sec).

The configured acceleration is 500,000 um/s^2, but the above b coefficients (2.54) when multiplied by 2 * 50000um gives 254,000 um/s^2.  The digits 254 make me suspect an inch/mm conversion error, but if that was the case then the velocity would be way off.

Anyway, this is a coding error or misunderstanding on my part, so don't worry about it.  I'll keep looking.

Regards,
SJH


On Mon, Mar 14, 2016 at 1:37 PM, Tom Kerekes tk@... [DynoMotion] <DynoMotion@yahoogroups.com> wrote:
 
[Attachment(s) from Tom Kerekes included below]

Hi SJH,

I just tested with the attached program that prints to the console the current velocity and acceleration and it seems all correct to me for my settings .

Maybe you are just miss interpreting the b coefficient as acceleration but rather 2b is the acceleration?

Normally the equation of motion is:

1/6 Jerk * t^3 + 1/2 Accel * t^2 + Vel * t + P

so putting this in this form to combine the fractions in the coefficients:
at^3 + bt^2 + ct + d

b = 1/2 Accel (same as your formula)

What exactly makes you thing things are wrong?

Regards
TK


On 3/14/2016 10:16 AM, Hardy Family hardy.woodland.cypress@... [DynoMotion] wrote:
 
Hi Tom,

In the process of debugging my 5-axis changes, I am trying to understand the coefficients in the linear motion segments, as sent to the kflop.

There are a,b,c,d,T coeffs.  Could you please confirm that the following is correct:

In any trip state, the t parameter ranges from 0 to the value specified in the 5th element of the trip coeffs (T), which is the nominal real time interval for this trip state.  Position, vel, accel is given by

pos = at^3 + bt^2 + ct + d
vel = 3at^2 + 2bt + c
accel = 6at + 2b

with these all multiplied by the total segment motion distance for each axis to get unparameterized (true) values.

I have been writing the output segments to a csv file and reading in as a spreadsheet.  Trouble is, max accelerations appear to be roughly 1/2 of the configured value, whether using rapids or feeds.  Velocity seems ok.  So, in trying to track down the accel discrepancy, I am wondering if my math or assumptions are wrong.

Regards,
SJH



Group: DynoMotion Message: 12955 From: Hardy Family Date: 3/14/2016
Subject: Re: Understanding motion segments
OK, figured it out: forgot that it actually uses the motion planner setting, not the kflop axis value.  I had it set to 10 in/s^2 so that explains the 254mm/s^2.

Regards,
SJH


On Mon, Mar 14, 2016 at 5:09 PM, Hardy Family hardy.woodland.cypress@... [DynoMotion] <DynoMotion@yahoogroups.com> wrote:
 

The test program I am running does a 100mm X move starting from 0:
F2000 G1 X-100

and the segment data is:

"SegA",408.364844,0,0,0.000000,0.000000,-165000.000000,0.000188,0.000000,0.000000,-50000.000000,0.000000,-165000.000000,0.000188,0.000000,0.000000
"SegB",0.000015,0,1,1.968504,1.312336,1.312336,10.000000,10.000000,inf,40000.000000,0.000000,3.000000,0.000000,0.000000
"Linear",0.000024,0,0,0.000000,2.540000,0.000000,0.000000,0.131234
"Linear",0.000029,0,1,0.000000,0.000000,0.666667,0.043745,1.434383
"SegA",0.102587,1,1,-50000.000000,0.000000,-165000.000000,0.000188,0.000000,0.000000,-100000.000000,0.000000,-165000.000000,0.000188,0.000000,0.000000
"SegB",0.102597,1,1,1.968504,1.312336,1.312336,10.000000,10.000000,inf,3149.606201,1.312336,3.000000,0.000000,0.000000
"Linear",0.102604,1,1,0.000000,0.000000,0.666667,0.000000,1.434383
"Linear",0.102792,1,2,0.000000,-2.540000,0.666667,0.956255,0.131234

SegA/B are data from the segment itself, and "Linear" is output for each trip state.  I have highlighted the X coordinates and the 5 coefficients.  Step units are in um.

The velocity (0.6666 * 50000) is correct (2000mm/min = 33333 um/sec).

The configured acceleration is 500,000 um/s^2, but the above b coefficients (2.54) when multiplied by 2 * 50000um gives 254,000 um/s^2.  The digits 254 make me suspect an inch/mm conversion error, but if that was the case then the velocity would be way off.

Anyway, this is a coding error or misunderstanding on my part, so don't worry about it.  I'll keep looking.

Regards,
SJH


On Mon, Mar 14, 2016 at 1:37 PM, Tom Kerekes tk@... [DynoMotion] <DynoMotion@yahoogroups.com> wrote:
 
[Attachment(s) from Tom Kerekes included below]

Hi SJH,

I just tested with the attached program that prints to the console the current velocity and acceleration and it seems all correct to me for my settings .

Maybe you are just miss interpreting the b coefficient as acceleration but rather 2b is the acceleration?

Normally the equation of motion is:

1/6 Jerk * t^3 + 1/2 Accel * t^2 + Vel * t + P

so putting this in this form to combine the fractions in the coefficients:
at^3 + bt^2 + ct + d

b = 1/2 Accel (same as your formula)

What exactly makes you thing things are wrong?

Regards
TK


On 3/14/2016 10:16 AM, Hardy Family hardy.woodland.cypress@... [DynoMotion] wrote:
 
Hi Tom,

In the process of debugging my 5-axis changes, I am trying to understand the coefficients in the linear motion segments, as sent to the kflop.

There are a,b,c,d,T coeffs.  Could you please confirm that the following is correct:

In any trip state, the t parameter ranges from 0 to the value specified in the 5th element of the trip coeffs (T), which is the nominal real time interval for this trip state.  Position, vel, accel is given by

pos = at^3 + bt^2 + ct + d
vel = 3at^2 + 2bt + c
accel = 6at + 2b

with these all multiplied by the total segment motion distance for each axis to get unparameterized (true) values.

I have been writing the output segments to a csv file and reading in as a spreadsheet.  Trouble is, max accelerations appear to be roughly 1/2 of the configured value, whether using rapids or feeds.  Velocity seems ok.  So, in trying to track down the accel discrepancy, I am wondering if my math or assumptions are wrong.

Regards,
SJH